As computers evolve, they can interact with their environment in increasingly complex ways. For example, cameras can send one or more video streams of data to a computer. These streams of data contain a myriad of information that can be further processed and used for many areas of computing including (but not limited to) object tracking, path planning, pattern recognition, scene reconstruction, object pose estimation, and image restoration.
Object tracking can require a computer (or robot) to locate a moving object and estimate its velocity in an environment. The object can be tracked by finding the same object in subsequent video frames. Real time object tracking can require this process to occur at high speeds. Real time systems generally aim to provide a response within a specified amount of time to enable a computer to react to changes in the environment as soon as they occur. In general, robotics applications including autonomous vehicles utilize perception systems that are real time because a car accident can occur if a car fails to make quick decisions.